home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc724.txt < prev    next >
Text File  |  1994-08-01  |  76KB  |  1,870 lines

  1.  
  2.  
  3.  
  4.  
  5.      RFC #  724
  6.      NIC #37435                                            12 May 1977
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                     Proposed Official Standard for the
  20.                       Format of ARPA Network Messages
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.                                     by
  32.  
  33.  
  34.               Ken Pogran, MIT-LCS/CSR    (Pogran at MIT-Multics)
  35.               John Vittal, BBN            (Vittal at BBN-TENEXA)
  36.               Dave Crocker, RAND-ISD     (DCrocker at Rand-Unix)
  37.               Austin Henderson, BBN    (Henderson at BBN-TENEXD)
  38.  
  39.  
  40.  
  41.      Proposed Standard for Message Format                         / ii
  42.  
  43.  
  44.  
  45.  
  46.  
  47.                                   PREFACE
  48.  
  49.  
  50.  
  51.           ARPA's  Committee  on  Computer-Aided  Human   Communication
  52.      (CAHCOM) wishes to promulgate an official standard for the format
  53.      of ARPA Network mail headers which will adequately meet the needs
  54.      of  the  various message service subsystems on the Network today.
  55.      The authors  of  this  RFC  constitute  the  CAHCOM  subcommittee
  56.      charged  with  the  task  of  developing  this new standard; this
  57.      document presents our  current  thoughts  on  the  matter  and  a
  58.      specific proposal.
  59.  
  60.           This document is organized as follows: First, we  present  a
  61.      history,  of the development of what has become known as the ARPA
  62.      Network "mail" or "message" service, and the issues which we feel
  63.      are  most  pressing  --  problems for which solutions are lacking
  64.      today, inhibiting the further development of message  subsystems.
  65.      We  then  present  the  specification  for  the  new ARPA Network
  66.      Message Header  standard.   This  is  followed  by  a  References
  67.      section.
  68.  
  69.           Essentially, we propose a revision to Request  for  Comments
  70.      (RFC)  561,  "Standardizing  Network  Mail Headers", and RFC 680,
  71.      "Message  Transmission  Protocol".   This  revision  removes  and
  72.      compacts  portions  of  the  previous  syntax  and  adds  several
  73.      features to network address  specification.   In  particular,  we
  74.      focus  on  people  and  not  mailboxes  as  recipients  and allow
  75.      reference to stored address lists.   We  expect  this  syntax  to
  76.      provide  sufficient  capabilities  to  meet most users' immediate
  77.      needs and, therefore, give developers enough  breathing  room  to
  78.      produce  a new mail transmission protocol "properly".  We believe
  79.      that there is enough of a consensus in the Network  community  in
  80.      favor  of such a standard syntax to make possible its adoption at
  81.      this time.
  82.  
  83.           We would like to make clear  the  status  of  this  proposed
  84.      standard:  The CAHCOM Steering Committee has replaced the Message
  85.      Service Committee as the ARPANET  standards-setting  organization
  86.      in  the  area  of  message  services.   It  is  expected that the
  87.      proposal of this CAHCOM subcommittee, when  in  its  final  form,
  88.      will  be  adopted  as  an  ARPANET  standard  by  CAHCOM.  In the
  89.      interests of making this standard the best possible one,  we  are
  90.      distributing  this  proposal as an RFC.
  91.  
  92.           Please send any  comments  and  criticisms  to  any  of  the
  93.      authors  of  this  RFC  by  15 June 1977.  It is planned that the
  94.      standard will be officially adopted by  1  September  1977,  with
  95.      hosts expected to accept its syntax by 1 January 1978.
  96.  
  97.  
  98.  
  99.      Proposed Standard for Message Format                        / iii
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.                              CONTENTS
  112.  
  113.  
  114.  
  115.                   I.  PROBLEMS WITH ARPANET
  116.                       MESSAGE STANDARDS
  117.  
  118.                       A.  Background and History
  119.                       B.  Issues and Conclusions
  120.                       C.  Message Parts
  121.                       D.  Adoption of the Standard
  122.  
  123.  
  124.  
  125.                  II.  STANDARD FOR THE FORMAT
  126.                       OF ARPA NETWORK MESSAGES
  127.  
  128.                       A.  Framework
  129.                       B.  Syntax
  130.                       C.  Semantics
  131.                       D.  Examples
  132.  
  133.  
  134.  
  135.                 III.  REFERENCES
  136.  
  137.  
  138.  
  139.  
  140.                               APPENDIX
  141.  
  142.                   A.  Alphabetical Listing of Syntax Rules
  143.  
  144.  
  145.  
  146.      I. Problems with ARPANET Message Standards                    / 1
  147.      A. Background and History
  148.  
  149.  
  150.  
  151.  
  152.  
  153.               I.  PROBLEMS WITH ARPANET MESSAGE STANDARDS
  154.  
  155.  
  156.  
  157.      A.  BACKGROUND AND HISTORY
  158.  
  159.  
  160.           Today's ARPA Network "mail" or "message" service  uses,  for
  161.      its delivery mechanism, two special commands of the File Transfer
  162.      Protocol.  Viewed from within the structure of  FTP,  the  entire
  163.      message,  both header and text, is data for the FTP MAIL and MLFL
  164.      commands.  This facility was added to the File Transfer  Protocol
  165.      as  an  afterthought;  it was an interim solution to be used only
  166.      until  a  separate  mail  transmission  protocol  was  specified.
  167.      Several  versions of such a protocol have been proposed, but none
  168.      has yet received general acceptance.   Meanwhile,  attempts  have
  169.      been made to improve upon the original interim facility.
  170.  
  171.           As  message  service  subsystems  on  various  host  systems
  172.      (especially  TENEX)  developed  to  the  point  where rudimentary
  173.      parsing of incoming messages was being done, it became clear that
  174.      it  would  be  desirable to standardize the format and content of
  175.      the headers of messages transmitted between hosts using these FTP
  176.      commands.   To this end, an ad hoc committee wrote RFC 561, which
  177.      suggested a standard message header format.   The  committee  was
  178.      unofficial,  so  it could not legislate a standard, it could only
  179.      recommend.  However, the standard it suggested adequately met  an
  180.      urgent need, and was generally adopted.
  181.  
  182.           Several  salient  points should be noted:
  183.  
  184.           1. RFC 561 defined the concept  of  a  message  header,  and
  185.              specified  the  syntax which delimited it from the actual
  186.              text of a message;
  187.  
  188.           2. It proposed a standard format for the  most  obvious  and
  189.              most  urgently-needed header items: "From:", "Date:", and
  190.              "Subject:";
  191.  
  192.           3. It proposed that a general standard syntax  be  used  for
  193.              all other header items;
  194.  
  195.           4. RFC 561 is still, today, an unofficial standard,  adhered
  196.              to by most because of its utility;
  197.  
  198.           5. Its syntax was designed to allow humans to read the  text
  199.              easily,  without  the  aid  of special message processing
  200.              systems.
  201.  
  202.  
  203.  
  204.      I. Problems with ARPANET Message Standards                    / 2
  205.      A. Background and History
  206.  
  207.  
  208.  
  209.           As message services grew in  sophistication,  the  need  for
  210.      specific header items in RFC 561's "miscellaneous" category grew:
  211.      "To:" and "cc:", especially, were  generated  and  recognized  by
  212.      several  different  message  services.   However,  there  was  no
  213.      specific standard for the syntax of the contents of these  items.
  214.      The  message  service  subsystems on TENEX developed a particular
  215.      format for these items; since more messages originated  from  the
  216.      TENEX  hosts  on  the  Network  than  from any other type of host
  217.      system, the TENEX format for these fields soon became a de  facto
  218.      standard.   Message  service  subsystems  on TENEX began to parse
  219.      these fields, expecting them to be in the TENEX-generated format.
  220.      Message service subsystems on other hosts -- Multics, for example
  221.      -- began to dabble with other formats  for  these  fields,  since
  222.      there  was  no standard for them, only to receive complaints from
  223.      users of  TENEX  message  service  subsystems  that  their  "non-
  224.      standard"  message  headers  could not be parsed according to the
  225.      (de facto) "standard" syntax.
  226.  
  227.           Recognizing that the time had come to  make  an  attempt  to
  228.      standardize  the  additional header fields that had come into use
  229.      since RFC 561 was published,  ARPA's  Message  Service  Committee
  230.      chartered  a  small group in 1975 to develop a revised version of
  231.      RFC 561 which would define the syntax of these additional message
  232.      header  fields.   Several things should be noted about this small
  233.      group of  people:  first,  they  were  TENEX-oriented;  when  the
  234.      functionality  of  the  message  header  items  they  desired was
  235.      matched by  the  functionality  of  an  already-existing  message
  236.      header  item  of  the  TENEX message subsystems, they adopted the
  237.      syntax used by the TENEX message subsystems.  Second, they  based
  238.      additional  header  items  not  already  found  on  TENEX message
  239.      subsystems on the deliberations of the Message Service Committee.
  240.      Third,  they were not familiar with the procedure for publication
  241.      of a document as a Network RFC.
  242.  
  243.           The document which this group produced,  labelled  RFC  680,
  244.      "Message    Transmission   Protocol",   received   only   limited
  245.      distribution.  Matters were further confused  because  its  title
  246.      was  misleading, since it was not a protocol for the transmission
  247.      of messages between ARPA Network hosts, but rather a standard for
  248.      the format of messages transmitted via the standard File Transfer
  249.      Protocol.    Some,   including  the  Message  Service  Committee,
  250.      believed that RFC 680 became a Network Standard.   This  was  not
  251.      strictly true, because it never received proper distribution, and
  252.      it had never been "officially blessed" by anyone, to turn it from
  253.      a  request  for  comments  into an accepted official ARPA Network
  254.      standard document.  Reflecting this confusion over the status  of
  255.      the  document  are  the  facts  that  the document DOES currently
  256.      reside in the "official"  ARPANET  Protocol  Handbook,  and  most
  257.      users and message system implementors remain unaware that this is
  258.      so.
  259.  
  260.  
  261.  
  262.      I. Problems with ARPANET Message Standards                    / 3
  263.      A. Background and History
  264.  
  265.  
  266.  
  267.           For all its shortcomings, RFC 680  has  performed  a  needed
  268.      service,  just  as  did RFC 561 before it.  It defined additional
  269.      message header items at a time  when  this  needed  to  be  done.
  270.      Unfortunately,  since  the  group  had not sought ideas and input
  271.      from others, the specification did not adequately  respond  to  a
  272.      sufficient  set  of  community needs.  In addition, the manner in
  273.      which the document was promulgated -- or not promulgated --  left
  274.      a great deal to be desired.  Implementators of message-processing
  275.      subsystems who had not received RFC 680 proceeded to go their own
  276.      ways, feeling justified in doing so, while those who accepted RFC
  277.      680 as a standard felt justified in complaining to --  and  about
  278.      --  those  whom  they  considered  to be maverick implementors of
  279.      idiosyncratic message service subsystems.
  280.  
  281.           Perhaps because of the ad-hoc nature  of  the  interim  mail
  282.      facility,  users  have not, until recently, attempted to push the
  283.      system to the limits of their imagination.   Presently,  however,
  284.      several different sites are using the "interim" mail facility for
  285.      more than it was designed and in ways which are incompatible both
  286.      with  each  other  and  with the original intent of the facility.
  287.      Mail subsystem  implementors  are  increasingly  being  asked  to
  288.      provide for the handling of mail from idiosyncratic hosts.  Also,
  289.      it has become clear that there are a few very  specific features,
  290.      too useful to ignore, which cannot reasonably be specified within
  291.      the syntax of RFC 680.
  292.  
  293.  
  294.  
  295.      B.  ISSUES AND CONCLUSIONS
  296.  
  297.  
  298.           At first glance, it would seem that a resolution of  today's
  299.      somewhat  chaotic situation could best be obtained by immediately
  300.      junking the existing "interim" mail facility, and adopting a true
  301.      mail  transmission protocol.  We strongly believe that this would
  302.      be ill-advised at this time, for we feel that there is no general
  303.      understanding  within  the  Network  community  today  of  how to
  304.      specify and implement  a  full  and  adequate  mail  transmission
  305.      protocol.   However,  we  are convinced that there is, finally, a
  306.      strong commitment within the Network  community  to  attack  this
  307.      problem  (which  there  was  not  at  the time the "interim" mail
  308.      transmission facility was specified and developed).
  309.  
  310.           The frontal attacks on the mail protocol  problem  have,  so
  311.      far, resulted in at least two suggestions for a mail transmission
  312.      protocol.  Why should not  one  of  these  protocols  be  adopted
  313.      immediately? We feel that, in general, there has been a  tendency
  314.      for  experimental  Network  software to be prematurely treated as
  315.      though  it  were  adequately  designed  and  fully   operational.
  316.      Typically, the system or protocol proposed is so much better than
  317.      what was previously available that  its  experimental  nature  is
  318.      disregarded,  and  it is pressed into service before it has had a
  319.  
  320.  
  321.      I. Problems with ARPANET Message Standards                    / 4
  322.      B. Issues and Conclusions
  323.  
  324.  
  325.  
  326.      chance to properly develop and mature.   We  are  very  concerned
  327.      that this phenomenon not afflict the Network mail system any more
  328.      than it already has.
  329.  
  330.           While it is true that there are several sites  in  the  ARPA
  331.      Community  which  have  mail  systems  that understand the syntax
  332.      specified in RFC's 561 and 680, in addition to some of the  "non-
  333.      standard"  syntax  provided  by  the  mail generating programs at
  334.      several other sites, most mail systems do not parse much  of  the
  335.      contents  of  received  messages.   A consideration of the syntax
  336.      specified here is that messages which are sent to  people  should
  337.      be  easily  read  by  people.   Parsers  which  can turn an ugly,
  338.      syntactically expedient form into something which is easy to read
  339.      are  the  exception,  rather  than  the  rule, in today's message
  340.      systems.  Also, the modifications to the existing  "non-standard"
  341.      syntax  should  be  kept  to a minimum, enhancing the probability
  342.      that the requirement of small perturbations to existing  software
  343.      will be accepted.
  344.  
  345.           With this syntax, we introduce mechanisms so that:
  346.  
  347.           1. Users of mail systems can have multiple mailboxes, either
  348.              on  one  machine  or  multiple machines, all of which are
  349.              treated identically; the default mailbox for  a  user  is
  350.              not  necessarily  associated  (directly)  with  his login
  351.              name.
  352.  
  353.           2. Mail for a person can be sent to  other  than  a  single,
  354.              default mailbox.
  355.  
  356.           3. Named   groups  may  consist  of  both  individuals   and
  357.              (possibly)  other  named  groups  (i.e.,  nesting  within
  358.              groups is permitted).
  359.  
  360.           4. Address lists may contain references  to  other,  stored,
  361.              lists.  The complete path with which one can retrieve the
  362.              stored list may be specified in  order  to  allow  either
  363.              manual or automatic retrieval of the stored list.
  364.  
  365.           5. Address lists may contain references to  addresses  which
  366.              are  not  accessible through the standard ARPANET message
  367.              system.  For example, U.S.  Postal system  addresses  can
  368.              be specified.  Such addresses are, of course, expected to
  369.              be ignored by the  ARPANET  system,  although  individual
  370.              sites  may  provide  services  for  using the information
  371.              (e.g., automatically sending a copy of the  message to  a
  372.              line printer, in preparation for transmission through the
  373.              Postal system).
  374.  
  375.           6. Parenthetical remarks, or comments, can be  included  and
  376.              syntactically  recognized  as  such  within  some  header
  377.              items.
  378.  
  379.  
  380.      I. Problems with ARPANET Message Standards                    / 5
  381.      B. Issues and Conclusions
  382.  
  383.  
  384.  
  385.           7. Received messages are capable of  being  read  by  humans
  386.              without  a  program having to parse the message (or parts
  387.              of it) before presenting the message to the user; however
  388.              there  is  sufficient  formal  syntax to enable a parsing
  389.              program to modify the appearance and content of  material
  390.              presented  to  users.   Although message-display software
  391.              may   exercise   considerable   control   over    message
  392.              appearance, the degree to which a message's actual format
  393.              is  PLEASANT  for  humans  to  read   is   entirely   the
  394.              responsibility of the message creation program.
  395.  
  396.      No mechanism for authentication is provided,  since  the  Network
  397.      provides  no  mechanisms for enforcing mail security.  The syntax
  398.      does provide for one aspect of "correctness":  a  distinction  is
  399.      made  between  an  address which is claimed to be a valid network
  400.      address and one which is  simply  free  text,  included  for  the
  401.      convenience of the human participants.
  402.  
  403.  
  404.  
  405.  
  406.      C. MESSAGE PARTS
  407.  
  408.           Some  confusion  has  existed  over  the  roles  played   by
  409.      different message parts.  Einar Stefferud has suggested using the
  410.      perspective of envelope, letter head, and  letter  content.   The
  411.      presence of structured portions in messages additionally requires
  412.      reference to "headers".
  413.  
  414.           In  computer-based  message  systems,  human  users  do  not
  415.      generally  encounter  "envelopes",  which  are  often constructed
  416.      automatically, to be  used  by  the  participating  system(s)  to
  417.      deliver  the  message.  For example on TENEX, the envelope is the
  418.      name of the file containing a message awaiting transmission.  For
  419.      FTP  servers,  it is the data portion of the MAIL or MLFL command
  420.      line.  Some systems attach  "envelope-like"  information  to  the
  421.      message header, such as time-stamp and originating host name.
  422.  
  423.           In paper-based communications,  headers  occur  both  before
  424.      (e.g., "To:" and "From:" and after (e.g., "cc:" and "enclosure:")
  425.      the body of the message.  Within this standard, all headers occur
  426.      before  the  body  of the message, although local message display
  427.      programs may choose to alter that ordering.
  428.  
  429.           Wayne Hathaway has pointed out that ARPANET  message  format
  430.      does not support specification of letterheads, since these are  a
  431.      type   of   organizational   public   relations   symbol.    Some
  432.      idiosyncrasies are supported, however, by way of choosing special
  433.      field names.
  434.  
  435.           In general, it is  important  to  realize  that  the  header
  436.      portion  of  a  message  plays several roles during the life of a
  437.  
  438.  
  439.      I. Problems with ARPANET Message Standards                    / 6
  440.      C. Message Parts
  441.  
  442.  
  443.  
  444.      message, variously participating in each of the  three  functions
  445.      suggested by Stefferud.
  446.  
  447.  
  448.  
  449.      D. ADOPTION OF THE STANDARD
  450.  
  451.  
  452.          During the early phases of specifying this standard, a  great
  453.      deal  of  concern  was  expressed  over the problems which may be
  454.      experienced during the transition from the  current  standard  to
  455.      this  new  one.   We  feel  that  the true problem is the lack of
  456.      realization that THERE IS NO CURRENT OFFICIAL  STANDARD.   Enough
  457.      systems  have  enough  overlapping behaviors to allow the current
  458.      mail environment to function, but this in no  way  constitutes  a
  459.      standard.
  460.  
  461.           In fact, we  strongly  believe  that  the  new  requirements
  462.      imposed by the proposed standard involve less complexity than the
  463.      ambiguities resulting  from  the  current  variations  in  system
  464.      behaviors.
  465.  
  466.  
  467.  
  468.      II. Standard for the Format of Messages                       / 7
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.                      II. STANDARD FOR THE FORMAT
  477.                          OF ARPA NETWORK MESSAGES
  478.  
  479.  
  480.  
  481.           This standard supercedes the informal standards specified in
  482.      ARPANET  Request for Comments numbers 561, "Standardizing Network
  483.      Mail Headers", and 680, "Message Transmission Protocol".  In this
  484.      document, a general framework is described.  The formal syntax is
  485.      then specified,  followed  by  a  discussion  of  the  semantics.
  486.      Finally, a number of examples are given.
  487.  
  488.           This specification is intended strictly as a  definition  of
  489.      what is to be passed  between hosts  on the  ARPANET.   It is NOT
  490.      intended to dictate either features which systems on the  Network
  491.      are  expected  to support, or user interfaces to message creating
  492.      or reading programs.
  493.  
  494.           A distinction should be made between what the  specification
  495.      requires  and  what it allows.  Certain equivalences are defined,
  496.      such as between a space  character  <space>  and  an  end-of-line
  497.      character  <crlf>, which both facilitate the formal specification
  498.      and indicate  what  the  OFFICIAL  semantics  are  for  messages.
  499.      Particular   implementations   may   wish   to  preserve  further
  500.      distinctions which the specification does not require.
  501.  
  502.  
  503.  
  504.      A. FRAMEWORK
  505.  
  506.  
  507.           Since there are many message systems which exist outside the
  508.      ARPANET environment, as well as those within it, it may be useful
  509.      to consider the general framework, and resulting capabilities and
  510.      limitations, of this standard.
  511.  
  512.           Messages are expected to  consist  of  lines  of  text.   No
  513.      special provisions are made, at this time, for encoding drawings,
  514.      facimile, speech, or structured text.
  515.  
  516.           No significant consideration has been given to questions  of
  517.      data   compression   or   transmission/storage  efficiency.   The
  518.      standard, in fact, tends to be very free with the number of  bits
  519.      consumed.   For  example, field names are specified as free text,
  520.      rather than special terse codes.
  521.  
  522.           A general "memo" framework is  used.   That  is,  a  message
  523.      consists  of some information, in a rigid format, followed by the
  524.      main part of the message, which is text  and whose format is  not
  525.  
  526.  
  527.      II. Standard for the Format of Messages                       / 8
  528.       A. Framework
  529.  
  530.  
  531.  
  532.      specified  in this document.  The syntax of several fields of the
  533.      rigidly-formated  ("header")   section   is   defined   in   this
  534.      specification;  some of the header fields must be included in all
  535.      messages.  In addition to the fields specified in this  document,
  536.      it  is  expected  that  other fields will gain common use.  User-
  537.      defined header fields allow systems to extend their functionality
  538.      while  maintaining  a uniform framework.  Our approach is similar
  539.      to that of the TELNET protocol, in that we are defining  a  basic
  540.      standard which includes a mechanism  for  (optionally)  extending
  541.      itself.    The   authors  of  this  document  will  regulate  the
  542.      publishing of specifications for these extensions.
  543.  
  544.           Such a framework severely  constrains  document  "tone"  and
  545.      appearance  and  is  primarily useful for most intra-organization
  546.      communications  and  relatively   structured   inter-organization
  547.      communication.   A more robust environment might allow for multi-
  548.      font, multi-color, multi-dimension encoding  of  information.   A
  549.      less  robust  environment,  as  is present in most single-machine
  550.      message systems, would more severely constrain the ability to add
  551.      fields  and the decision to include specific fields.  Relative to
  552.      paper-based communication, it is interesting  to  note  that  the
  553.      RECEIVER  of  a  message  can exercise an extraordinary amount of
  554.      control over the message's  appearance.   The  amount  of  actual
  555.      control  available  to  message  receivers is contingent upon the
  556.      capabilties of their individual message systems.
  557.  
  558.  
  559.  
  560.      II. Standard for the Format of Messages                       / 9
  561.       B. Syntax
  562.  
  563.  
  564.  
  565.  
  566.  
  567.      B.  SYNTAX
  568.  
  569.  
  570.           This  syntax  is  given  in  four  parts.   The  first  part
  571.      describes  a  base-level lexical analyzer which feeds the higher-
  572.      level parser described in the succeeding  sections.   The  second
  573.      part  gives  a  general  syntax  for messages and standard header
  574.      fields.  The third part specifies the  syntax  of  addresses.   A
  575.      final  section  specifies  some general syntax which supports the
  576.      other sections.
  577.  
  578.  
  579.  
  580.      1.  LEXICAL ANALYSIS OF MESSAGES
  581.  
  582.  
  583.      a.  General Description
  584.  
  585.          A message consists of headers and, optionally, a  body  (i.e.
  586.          the  <message-text>).   The  <message-text>  part  is  just a
  587.          sequence of  ASCII  characters;  it  is  separated  from  the
  588.          headers  by  a null line (i.e., a line with nothing preceding
  589.          the <crlf>).
  590.  
  591.          1) Folding and unfolding of headers
  592.  
  593.             Each header item can be viewed as a single, logical,  long
  594.             line   of   ASCII   characters.    For  convenience,  this
  595.             conceptual  entity  can  be  split  into  a  multiple-line
  596.             representation (i.e., "folded").  The general rule is that
  597.             wherever there can be <linear-white-space> characters, you
  598.             can  instead  insert  a  <crlf> immediately followed by AT
  599.             LEAST  one  <linear-white-space>  character.   Thus,   the
  600.             single line
  601.  
  602.                To:  "Joe Dokes & J. Harvey" <ddd at Host>, JJV at BBN
  603.  
  604.             can be represented as
  605.  
  606.                To:  "Joe Dokes & J. Harvey" <ddd at Host>,
  607.                     JJV at BBN
  608.  
  609.             and
  610.  
  611.                To:  "Joe Dokes & J. Harvey"
  612.                                 <ddd at Host>,
  613.                 JJV at BBN
  614.  
  615.  
  616.  
  617.      II. Standard for the Format of Messages                      / 10
  618.       B. Syntax
  619.       1. Lexical Analysis
  620.  
  621.  
  622.  
  623.             and
  624.  
  625.                To:  "Joe Dokes
  626.                 & J. Harvey" <ddd at Host>, JJV at BBN
  627.  
  628.             The process  of  moving  from  this  folded  multiple-line
  629.             representation  of  a  header  field  to  its  single line
  630.             representation will be called "unfolding".   Unfolding  is
  631.             accomplished by regarding <crlf> immediately followed by a
  632.             <linear-white-space-char> as equivalent  to  the  <linear-
  633.             white-space-char>.
  634.  
  635.  
  636.          2) Structure of header fields
  637.  
  638.             Once header fields have been unfolded, they may be  viewed
  639.             as  being  composed  of  a  <field-name> followed by a ":"
  640.             (colon), followed by  a  <field-body>.   The  <field-name>
  641.             must  be  composed  of  printable  ASCII characters (i.e.,
  642.             characters which have decimal values between 33  and  126)
  643.             and <linear-white-space> characters.  The <field-body> may
  644.             composed of any ASCII  characters  (other  than  <cr>  and
  645.             <lf>, which have been removed by unfolding).
  646.  
  647.             Certain header fields may be interpreted according  to  an
  648.             internal  syntax  which  some  systems  may wish to parse.
  649.             These fields will be referred  to  as  structured  fields.
  650.             Examples  include  fields  containing dates and addresses.
  651.             Other fields, such as  the  subject  field,  are  regarded
  652.             simply as a single line of text.
  653.  
  654.          3) Field names
  655.  
  656.             To aid in the creation and reading of  <field-name>s,  the
  657.             free   insertion  of  <linear-white-space>  characters  is
  658.             allowed in reasonable places.  Rather than  obscuring  the
  659.             syntax  specification  for  <field-name> with the explicit
  660.             syntax  for  these  <linear-white-space>  characters,  the
  661.             existence  of a simple "lexical" analyzer is assumed.  The
  662.             analyzer reinterprets the unfolded  text  which  comprises
  663.             the  <field-name>  as  a  sequence of <atoms> separated by
  664.             <linear-white-space> characters.  The field  name  may  be
  665.             conveniently  represented  by the sequence of these atoms,
  666.             separated by a single ASCII space character.
  667.  
  668.  
  669.  
  670.      II. Standard for the Format of Messages                      / 11
  671.       B. Syntax
  672.       1. Lexical Analysis
  673.  
  674.  
  675.  
  676.          4) Field bodies
  677.  
  678.             To aid in the creation and reading  of  structured fields,
  679.             the  free  insertion of <linear-white-space> characters is
  680.             allowed in reasonable places.  Rather than  obscuring  the
  681.             syntax specifications for  these  structured  fields  with
  682.             explicit syntax for these <linear-white-space> characters,
  683.             the existence of  another  simple  "lexical"  analyzer  is
  684.             assumed.   It  provides  an interpretation of the unfolded
  685.             text comprising the body of the field  as  a  sequence  of
  686.             lexical symbols.  These include
  687.  
  688.                     -  individual special characters
  689.                     -  quoted strings
  690.                     -  comments
  691.                     -  atoms
  692.  
  693.             The first three symbols are  self-delimiting.   Atoms  are
  694.             not;  they  therefore are delimited by the self-delimiting
  695.             symbols and by <linear-white-space>.
  696.  
  697.             So, for example, the folded body of an address field
  698.  
  699.                     ":sysmail"@ Some-Host,
  700.                     Muhammed(I am the greatest)Ali at WBA
  701.  
  702.             is analyzed into the following lexical symbols and types:
  703.  
  704.                     ":sysmail"              quoted string
  705.                     @                       special
  706.                     Some-Host               atom
  707.                     ,                       special
  708.                     Muhammed                atom
  709.                     (I am the greatest)     comment
  710.                     Ali                     atom
  711.                     at                      atom
  712.                     WBA                     atom
  713.  
  714.  
  715.      b.  Formal Definition
  716.  
  717.          <field>           ::=   <field-name> ":" <field-body>
  718.          <field-name>      ::=   <atom>
  719.                                | <atom> <field-name>
  720.  
  721.          <field-body>      ::=   <field-body-contents>
  722.                                | <field-body-contents> <crlf>
  723.                                     <linear-white-space-char>
  724.                                     <field-body>
  725.  
  726.  
  727.  
  728.      II. Standard for the Format of Messages                      / 12
  729.       B. Syntax
  730.       1. Lexical Analysis
  731.  
  732.  
  733.  
  734.          <field-body-contents> ::= <the TELNET ASCII characters making
  735.                                     up the <field-body>, as defined in
  736.                                     the following sections, and
  737.                                     consisting of combinations of
  738.                                     <atom>, <quoted-string>, <text-line>,
  739.                                     and <specials> tokens>
  740.  
  741.          <atom>            ::=   <a sequence of one or more TELNET
  742.                                     ASCII alpha-numeric or graphics
  743.                                     characters, excluding all control
  744.                                     characters (those characters with
  745.                                     a decimal value less than 33 or
  746.                                     equal to 127) and <delimeters> >
  747.  
  748.          <quoted-string>   ::=   <double quote mark ("), decimal 34>
  749.                                     <a sequence of one or more TELNET
  750.                                     ASCII characters, where two
  751.                                     adjacent quotes are treated as a
  752.                                     single quote and part of the
  753.                                     string> <">
  754.  
  755.          <text-line>        ::=   <a sequence of one or more TELNET
  756.                                     ASCII characters excluding <cr>
  757.                                     and <lf> >
  758.  
  759.          <message-text>     ::=   <a sequence of zero of more TELNET
  760.                                     ASCII characters>
  761.  
  762.          <delimeters>      ::=   <specials> | <comment>
  763.                                | <linear-white-space> | <crlf>
  764.  
  765.          <specials>        ::=   "(" | ")" | "<" | ">"
  766.                                | "@" | "," | ";" | ":" | <">
  767.  
  768.          <comment>         ::=   "(" <TELNET ASCII characters, except
  769.                                     <crlf> > ")"
  770.  
  771.          <linear-white-space>::= <linear-white-space-char>
  772.                                | <linear-white-space-char>
  773.                                     <linear-white-space>
  774.          <linear-white-space-char>::=  <space> | <horizontal-tab>
  775.  
  776.          <space>           ::=   <TELNET ASCII space (decimal 32)>
  777.          <tab>             ::=   <TELNET ASCII tab   (decimal  9)>
  778.          <cr>              ::=   <TELNET ASCII carriage return
  779.                                     (decimal 13)>
  780.          <lf>              ::=   <TELNET ASCII line feed (decimal 10)>
  781.          <crlf>            ::=   <TELNET ASCII carriage return/line
  782.                                   feed (decimal 13, followed by
  783.                                   decimal 10)>
  784.  
  785.  
  786.  
  787.      II. Standard for the Format of Messages                      / 13
  788.       B. Syntax
  789.       1. Lexical Analysis
  790.  
  791.  
  792.  
  793.      c.  Clarifications
  794.  
  795.          1) Comments
  796.  
  797.             Comments  may  appear   only   within   <field-body>s   of
  798.             structured fields.   A  comment is any set of TELNET ASCII
  799.             characters, which is not within a quoted string, and which
  800.             is  enclosed in matching parentheses; parentheses nest, so
  801.             that if a left paren occurs in  a  comment  string,  there
  802.             must also be a matching right paren.
  803.  
  804.             Comments are NOT passed to the FTP server, as  part  of  a
  805.             MAIL  or  MLFL command, since comments are not part of the
  806.             "formal" address.
  807.  
  808.  
  809.          2) "White space"
  810.  
  811.             Remember that in structured fields, MULTIPLE LINEAR  WHITE
  812.             SPACE TELNET ASCII CHARACTERS (namely <tab>s and <space>s)
  813.             ARE TREATED AS SINGLE SPACES AND MAY FREELY  SURROUND  ANY
  814.             SYMBOL.   In  all  header  fields, at least one <space> is
  815.             REQUIRED only at the beginning of folded lines.
  816.  
  817.             Writers of mail-sending (i.e.  header generating) programs
  818.             should realize that there is no Network-wide definition of
  819.             the  effect  of  <tab>  TELNET  ASCII  characters  on  the
  820.             appearance of text at another Network host; therefore, the
  821.             use of <tab>s in message  headers,  though  permitted,  is
  822.             discouraged.
  823.  
  824.             Note that the contents of messages are required to conform
  825.             with  TELNET  NVT conventions (e.g.  <cr> must be followed
  826.             by either <lf>, making a <crlf>, or <null>, if the <cr> is
  827.             to stand alone).
  828.  
  829.          3) Quoted strings
  830.  
  831.             Where  permitted  (i.e.,  in  structured  fields)   quoted
  832.             strings  are  treated as a single symbol (i.e.  equivalent
  833.             to an <atom> syntactically).  However, if  quoted  strings
  834.             are  to  be  "folded" onto multiple lines, then the syntax
  835.             for folding must be  adhered  to  (See  items  II.B.1.a.1,
  836.             above,  and  II.B.1.c.6,  below.)  Note  that the official
  837.             semantics do not  encounter  <crlf>s  in  quoted  strings,
  838.             although  particular  parsing  programs  may  wish to note
  839.             their presence.
  840.  
  841.  
  842.  
  843.      II. Standard for the Format of Messages                      / 14
  844.       B. Syntax
  845.       1. Lexical Analysis
  846.  
  847.  
  848.  
  849.          4) Bracketing characters
  850.  
  851.             There are two types of brackets which must be well nested:
  852.  
  853.                 - Parentheses are used to indicate comments.
  854.  
  855.                 - Angle brackets  ("<"  and  ">")  are  used
  856.                   where  there is a question of the presence
  857.                   of machine-usable code (e.g.  deliminating
  858.                   mailboxes).
  859.  
  860.          5) Case independence of certain specials <atom>s
  861.  
  862.             It should be assumed by all  mail  reading  programs  that
  863.             certain  <atom>s  can be represented in any combination of
  864.             upper and lower case.  These are:
  865.  
  866.                 - <field-name>s,
  867.                 - "File", in a <path>,
  868.                 - "at", in an <at-indicator>,
  869.                 - <host-name>s,
  870.                 - <day-of-week>s,
  871.                 - <string-month>s, and
  872.                 - <time-zone>s
  873.  
  874.             For example, the <field-name>s "From", "FROM", "from", and
  875.             even "FroM" should all be treated identically.  Note that,
  876.             at the level of this specification, case  IS  relevant  to
  877.             other   <word>s   and   <text-line>s.   Also  see  Section
  878.             II.C.1.a.4, below.
  879.  
  880.          6) Folding long lines
  881.  
  882.             Each header item (field of the message) may be represented
  883.             on  exactly  one  line consisting of the name of the field
  884.             and its body, and this  is  what  the  parser  sees.   For
  885.             readability,  it  is  recommended  that  the  <field-body>
  886.             portion of long header items  be  "folded"  onto  multiple
  887.             lines of the actual header.
  888.  
  889.  
  890.          7) Backspace characters
  891.  
  892.             Backspace TELNET ASCII characters (ASCII  BS,  decimal  8)
  893.             may  be  included  in  <text-line>  and <quoted-string> to
  894.             effect overstriking; however, any use of backspaces  which
  895.             effects  an overstrike to the left of the beginning of the
  896.             <text-line> or <quoted-string> is prohibited.
  897.  
  898.  
  899.  
  900.  
  901.      II. Standard for the Format of Messages                      / 15
  902.       B. Syntax
  903.       2. Messages
  904.  
  905.  
  906.  
  907.      2.  GENERAL SYNTAX OF MESSAGES:
  908.  
  909.          NOTE: The syntax indicates that items  in  <required-headers>
  910.          must  be  in  a  specific  order and precede all other header
  911.          items.  Header fields, in fact, are NOT required to occur  in
  912.          any  particular  order.  Required header items must be unique
  913.          (occur exactly once).  This  specification  permits  multiple
  914.          occurrences   of   most   optional   fields.    However,  the
  915.          interpretation of such multiple occurrences is not  specified
  916.          here.
  917.  
  918.          <message>         ::=   <headers>
  919.                                | <headers> <crlf> <message-text>
  920.  
  921.          <headers>         ::=   <required-headers>
  922.                                | <required-headers> <optional-headers>
  923.          <required-headers> ::=  <date-field> <originator>
  924.          <originator>      ::=   <mach-from-field>
  925.                                | <mach-from-list> <sender-field>
  926.                                | <mach-from-field> <reply-to-field>
  927.                                | <any-from-field> <sender-field>
  928.                                     <reply-to-field>
  929.  
  930.          <date-field>      ::=   "Date"        ":" <date-time>
  931.          <mach-from-field> ::=   "From"        ":" <mach-addr-item>
  932.          <mach-from-list>  ::=   "From"        ":" <mach-addr-list>
  933.          <any-from-field>  ::=   "From"        ":" <address-list>
  934.          <sender-field>    ::=   "Sender"      ":" <host-phrase>
  935.          <reply-to-field>  ::=   "Reply-To"    ":" <mach-addr-list>
  936.  
  937.          <optional-headers>::=   <optional-header-field>
  938.                                | <optional-headers>
  939.                                     <optional-header-field>
  940.  
  941.          <optional-header-field> ::= <addressee-field>
  942.                                | <extension-field>
  943.  
  944.          <addressee-field> ::=   "To"          ":" <address-list>
  945.                                | "cc"          ":" <address-list>
  946.                                | "bcc"         ":" <address-list>
  947.                                | "Fcc"         ":" <path-list>
  948.  
  949.          <extension-field> ::=   "In-Reply-To" ":" <reference-list>
  950.                                | "Keywords"    ":" <phrase-list>
  951.                                | "Message-Id"  ":" <mach-host-phrase>
  952.                                | "References"  ":" <reference-list>
  953.                                | "Subject"     ":" <text-line>
  954.                                | "Comments"    ":" <text-line>
  955.                                | <user-defined-field>
  956.  
  957.  
  958.  
  959.      II. Standard for the Format of Messages                      / 16
  960.       B. Syntax
  961.       2. Messages
  962.  
  963.  
  964.  
  965.          <user-defined-field> ::= <A <field> which has a <field-name>
  966.                                     not defined in this specification>
  967.  
  968.  
  969.  
  970.      The following syntax for the bodies of various fields  should  be
  971.      thought  of as describing each field body as a single long string
  972.      (or line).  The section  on  Lexical  Analysis  (section  II.B.1)
  973.      indicated  how  such long strings can be represented on more than
  974.      one line in the actual transmitted message.
  975.  
  976.  
  977.      3.  SYNTAX OF GENERAL ADDRESSEE ITEMS
  978.  
  979.          <mach-addr-list>  ::=   <mach-addr-item>
  980.                                | <mach-addr-item> "," <address-list>
  981.  
  982.          <address-list>    ::=   <null>
  983.                                | <address-item>
  984.                                | <address-item> "," <address-list>
  985.          <address-item>    ::=   <mach-addr-item>
  986.                                | <group-name> ":" <address-list> ";"
  987.                                | <any-name>
  988.                                | <path>
  989.  
  990.          <mach-addr-item>  ::=   <mailbox>
  991.                                | <phrase> "<" <mailbox-list> ">"
  992.  
  993.          <group-name>      ::=   <phrase>
  994.          <any-name>        ::=   <quoted-string>
  995.  
  996.          <mailbox-list>    ::=   <mailbox>
  997.                                | <mailbox> "," <mailbox-list>
  998.          <mailbox>         ::=   <host-phrase>
  999.  
  1000.          <path>            ::=   ":" "File" ":" <path-name>
  1001.          <path-name>       ::=   <path-item>
  1002.                                | "<" <path-list> ">"
  1003.          <path-list>       ::=   <path-item>
  1004.                                | <path-item> "," <path-list>
  1005.          <path-item>       ::=   <host-phrase>
  1006.  
  1007.  
  1008.  
  1009.  
  1010.      II. Standard for the Format of Messages                      / 17
  1011.       B. Syntax
  1012.       4. Supporting Constructs
  1013.  
  1014.  
  1015.  
  1016.      4.  SUPPORTING SYNTAX
  1017.  
  1018.          <reference-list>  ::=   <null>
  1019.                                | <reference-item>
  1020.                                | <reference-item> "," <reference-list>
  1021.          <reference-item>  ::=   <phrase>
  1022.                                | <mach-host-phrase>
  1023.  
  1024.          <mach-host-phrase>::=   "<" <host-phrase> ">"
  1025.          <host-phrase>     ::=   <phrase> <host-indicator>
  1026.          <host-indicator>  ::=   <at-indicator> <host-name>
  1027.          <at-indicator>    ::=   "at" | "@"
  1028.          <host-name>       ::=   <atom>
  1029.                                | <decimal host address>
  1030.  
  1031.          <date-time>       ::=   <day> <date> <time>
  1032.          <day>             ::=   <null>
  1033.                                | <day-of-week> ","
  1034.          <day-of-week>     ::=   "Monday"    | "Mon"
  1035.                                | "Tuesday"   | "Tue"
  1036.                                | "Wednesday" | "Wed"
  1037.                                | "Thursday"  | "Thu"
  1038.                                | "Friday"    | "Fri"
  1039.                                | "Saturday"  | "Sat"
  1040.                                | "Sunday"    | "Sun"
  1041.          <date>            ::=   <string-date>
  1042.                                | <slash-date>
  1043.          <string-date>     ::=   <day-of-month> <string-month>
  1044.                                                 <4-digit-year>
  1045.          <slash-date>      ::=   <numeric-month> "/" <date-of-month>
  1046.                                                  "/" <2-digit-year>
  1047.          <numeric-month>   ::=   <one or two decimal digits>
  1048.          <day-of-month>    ::=   <one or two decimal digits>
  1049.          <string-month>    ::=   "January" | "Jan"
  1050.                                | "February" | "Feb"
  1051.                                | "March"    | "Mar"
  1052.                                | "April"    | "Apr"
  1053.                                | "May"
  1054.                                | "June"     | "Jun"
  1055.                                | "July"     | "Jul"
  1056.                                | "August"   | "Aug"
  1057.                                | "September"| "Sep"
  1058.                                | "October"  | "Oct"
  1059.                                | "November" | "Nov"
  1060.                                | "December" | "Dec"
  1061.          <4-digit-year>    ::=   <four decimal digits>
  1062.          <2-digit-year>    ::=   <two decimal digits>
  1063.          <time>            ::=   <24-hour-time> "-" <time-zone>
  1064.          <24-hour-time>    ::=   <hour> <minute>
  1065.          <hour>            ::=   <two decimal digits>
  1066.          <minute>          ::=   <two decimal digits>
  1067.  
  1068.  
  1069.      II. Standard for the Format of Messages                      / 18
  1070.       B. Syntax
  1071.       4. Supporting Constructs
  1072.  
  1073.  
  1074.  
  1075.          <time-zone>       ::=   "GMT" | "Z"   | "GDT"
  1076.                                | "AST" | "ADT"
  1077.                                | "EST" | "EDT" | "CST" | "CDT"
  1078.                                | "MST" | "MDT" | "PST" | "PDT"
  1079.                                | "YST" | "YDT" | "HST" | "HDT"
  1080.  
  1081.          <phrase>          ::=   <word>
  1082.                                | <word> <phrase>
  1083.          <phrase-list>     ::=   <null>
  1084.                                | <phrase>
  1085.                                | <phrase> "," <phrase-list>
  1086.  
  1087.          <word>            ::=   <atom>
  1088.                                | <quoted-string>
  1089.  
  1090.  
  1091.  
  1092.      II. Standard for the Format of Messages                      / 19
  1093.       C. Semantics
  1094.       1. Address Fields
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.      C. SEMANTICS
  1101.  
  1102.  
  1103.      1. ADDRESS FIELDS
  1104.  
  1105.      a. General
  1106.  
  1107.         1) <path>s are used to refer to a location,  on  the  ARPANET,
  1108.            containing  a  stored  address  list.   The <phrase> should
  1109.            contain text which the referenced host  can  resolve  to  a
  1110.            file.   This  standard  is  not  a protocol and so does not
  1111.            prescribe HOW data  is  to  be  retrieved  from  the  file.
  1112.            However, the following requirements are made:
  1113.  
  1114.            - the   file  must  be  accessible  through  the   local
  1115.              operating  system  interface  (if  it  exists),  given
  1116.              adequate user access rights; and
  1117.  
  1118.            - if a host has an FTP server and  a  user  is  able  to
  1119.              retrieve  any  files  from the host using that server,
  1120.              then the file must be accessible  through  FTP,  using
  1121.              DEFAULT  transfer settings, given adequate user access
  1122.              rights.
  1123.  
  1124.            It is intended that this mechanism will allow  programs  to
  1125.            retrieve such lists automatically.
  1126.  
  1127.            The interpretation  of  a  <path>  follows.   This  is  not
  1128.            intended to imply any particular implementation scheme, but
  1129.            is included to aid in understanding the notion of <path>s:
  1130.  
  1131.            - The contents of the file indicated by a <path-name> is
  1132.              treated  as  an  <address-list>  and is inserted as an
  1133.              <address-item> in the position of the <path-name> item
  1134.              in  the  syntax.   That is, the TELNET ASCII character
  1135.              string of the <path-name> or, if present,  the  <path-
  1136.              list>  containing  it,  is replaced by the contents of
  1137.              the file to which the <path-name>  refers.  Therefore,
  1138.              the  contents  of  the file indicated by a <path-name>
  1139.              must be syntactically self-contained and  must  adhere
  1140.              to  the  full  syntax  prescribed herein for <address-
  1141.              list>.
  1142.  
  1143.            - <Path-item>s of a <path-list> are alternates  and  the
  1144.              contents  of ONLY ONE of them is to be included in the
  1145.              resultant address list.
  1146.  
  1147.         2) The <phrase> part  of  a  <mailbox>  is  understood  to  be
  1148.            whatever  the  receiving  FTP  Server  allows (for example,
  1149.  
  1150.  
  1151.      II. Standard for the Format of Messages                      / 20
  1152.       C. Semantics
  1153.       1. Address Fields
  1154.  
  1155.  
  1156.  
  1157.            TENEX systems do not now understand addresses of  the  form
  1158.            "P.  D.  Q.  Bach", but another system might).
  1159.  
  1160.            Note that a <mailbox> is a conceptual entity which does not
  1161.            necessarily  pertain  to  file  storage.  For example, some
  1162.            sites may choose to print mail on their  line  printer  and
  1163.            deliver the output to the addressee's desk.
  1164.  
  1165.            A user may have several mailboxes. The use  of  the  second
  1166.            alternative  of  <mach-addr-item>  (<phrase>  "<" <mailbox-
  1167.            list> ">") indicates that a copy of the message  is  to  be
  1168.            sent to EACH mailbox named.
  1169.  
  1170.         3) <any-name>  may  contain  any  sequence  of  "words".  This
  1171.            sequence  of  words,  used as an <address-item>, is used to
  1172.            facilitate reference  to  non-standard  (e.g.  non-Network)
  1173.            addresses.    Such   an  address  might  be  one  which  is
  1174.            acceptable to the U.S.  Postal Service.
  1175.  
  1176.         4) The <host-name> in a <host-phrase>  must  be  THE  official
  1177.            name of a Network host, or else a decimal number indicating
  1178.            the Network address for that host.  The USE OF  NUMBERS  IS
  1179.            STRONGLY  DISCOURAGED  and  is  permitted  only  due to the
  1180.            occasional necessity of bypassing local host-name tables.
  1181.  
  1182.            The  <phrase>  in  a  <host-phrase>  is  intended   to   be
  1183.            meaningful only to the indicated host.  To all other hosts,
  1184.            the <phrase> is treated  as  a  literal  string.   No  case
  1185.            transformations  should be (automatically) performed on the
  1186.            <phrase>.  The <phrase> is passed to the local host's  mail
  1187.            sending   program;   it   is   the  responsibility  of  the
  1188.            destination host's mail receiving (distribution) program to
  1189.            perform  case  mapping  on  this  <phrase>, if required, to
  1190.            deliver the mail.
  1191.  
  1192.      b. Originator Fields
  1193.  
  1194.            WARNING: The standard allows only a subset of  the
  1195.                     combinations   possible  with  the  From,
  1196.                     Sender,   and   Reply-to   fields.    The
  1197.                     limitation  is intentional; the permitted
  1198.                     alternatives have been  carefully  chosen
  1199.                     and are adequate for the purposes of this
  1200.                     standard.
  1201.  
  1202.  
  1203.  
  1204.      II. Standard for the Format of Messages                      / 21
  1205.       C. Semantics
  1206.       1. Address Fields
  1207.  
  1208.  
  1209.  
  1210.         1) From:
  1211.  
  1212.            This field contains  the  identity  of  the  person(s)  who
  1213.            wished  this  message  to  be  sent.   The message-creation
  1214.            process should default this field to be  a  single  machine
  1215.            address,  indicating  the user entering the message; if and
  1216.            only if this is done,  the  "Sender:"  field  need  not  be
  1217.            present.
  1218.  
  1219.         2) Sender:
  1220.  
  1221.            This field contains the identity of the  person  who  sends
  1222.            the  message.   It need not be present in the header of the
  1223.            message if it is the SAME as the "From:" field.
  1224.  
  1225.            The <sender-field-body>  includes  a  <phrase>  which  must
  1226.            correspond  to  a  user,  rather  than a standard <address-
  1227.            item>, to indicate the  expectation  that  the  field  will
  1228.            refer  to  the  PERSON responsible for sending the mail and
  1229.            not simply include the name of a mailbox,  from  which  the
  1230.            mail  was  sent.  For example in the case of a shared login
  1231.            name, the name, by itself,  would  not  be  adequate.   The
  1232.            <phrase>  (user)  is  a  system  entity,  not a generalized
  1233.            person reference.
  1234.  
  1235.         3) Reply-to:
  1236.  
  1237.            This field provides a general mechanism for indicating  any
  1238.            mailbox(es)  to  which  responses  are  to  be sent.  Three
  1239.            different uses for this feature can be  distinguished.   In
  1240.            the  first  case,  the  author(s)  may  not  have   regular
  1241.            machine-based  mailboxes  and therefore wish to indicate an
  1242.            alternate machine address.  In the second case,  an  author
  1243.            may  wish  additional  persons  to  be  made  aware  of, or
  1244.            responsible for, responses; responders  should  send  their
  1245.            replies  to  the "Reply-to:" mailbox(es).  More interesting
  1246.            is a case such as text-message teleconferencing in which an
  1247.            automatic distribution facility  is  provided  and  a  user
  1248.            submitting  an  "entry" for distribution only needs to send
  1249.            their message to the mailbox(es) indicated in  the  "Reply-
  1250.            to:" field.
  1251.  
  1252.            If there is no <reply-to-field>, then the <from-field> MUST
  1253.            contain  AT  LEAST  ONE machine address.  In all cases when
  1254.            used and even if a <sender> field is present, the  Reply-to
  1255.            field must contain at least one machine address.
  1256.  
  1257.         NOTE: For systems which automatically generate  address  lists
  1258.         for replies to messages, the following requirements are made:
  1259.  
  1260.  
  1261.  
  1262.      II. Standard for the Format of Messages                      / 22
  1263.       C. Semantics
  1264.       1. Address Fields
  1265.  
  1266.  
  1267.  
  1268.            - The receiver, when replying to a message,  must  NEVER
  1269.              automatically  include  the <sender-field-body> in the
  1270.              reply's address list
  1271.  
  1272.            - If the <reply-to-field> exists, then the reply  should
  1273.              go ONLY to the <reply-to-field-body> addressees.
  1274.  
  1275.         (Extensive  examples  are  provided  in  Section  II.D.)  This
  1276.         recommendation is intended only for <originator-field>s and in
  1277.         no way is intended to reflect that replies should not be sent,
  1278.         also,  to  the  other recipients of this message.  It is up to
  1279.         the respective mail handling programs as  to  what  additional
  1280.         facilities will be provided.
  1281.  
  1282.      c. Receiver Fields
  1283.  
  1284.         1) To:
  1285.  
  1286.            This field contains the identity of the primary  recipients
  1287.            of the message.
  1288.  
  1289.         2) cc:
  1290.  
  1291.            This  field  contains  the  identity   of   the   secondary
  1292.            recipients of the message.
  1293.  
  1294.         3) Bcc:
  1295.  
  1296.            This field contains the identity of  additional  recipients
  1297.            of  the  message  who are to remain hidden from the primary
  1298.            and secondary  recipients.   Some  systems  may  choose  to
  1299.            include   the   text  of  the  "Bcc:"  field  only  in  the
  1300.            author(s)'s copy, while others may include it in  the  text
  1301.            sent to all those indicated in the "Bcc:" list.
  1302.  
  1303.         4) Fcc:
  1304.  
  1305.            This field contains the identity of any  message  files  in
  1306.            which  copies  of  this  message  are  being  placed by the
  1307.            originator.  Note that the presence of this field does  NOT
  1308.            guarantee  long-term  availability of the message in any of
  1309.            the indicated files.
  1310.  
  1311.  
  1312.  
  1313.  
  1314.      II. Standard for the Format of Messages                      / 23
  1315.       C. Semantics
  1316.       2. Reference Specification Fields
  1317.  
  1318.  
  1319.  
  1320.      2. REFERENCE SPECIFICATION FIELDS
  1321.  
  1322.      a. Message-Id:
  1323.  
  1324.         This field contains a  unique  identifier  (the  <phrase>)  to
  1325.         refer  to this version of this message.  The uniqueness of the
  1326.         message  identifier  is  guaranteed  by   each   host.    This
  1327.         identifier  is  intended  to  be  machine  readable,  and  not
  1328.         necessarily meaningful to humans.  A  message-id  pertains  to
  1329.         exactly  one instantiation of a particular message; subsequent
  1330.         revisions to the message should receive new message-id's.
  1331.  
  1332.      b. In-Reply-To:
  1333.  
  1334.         The contents of this field  identify  previous  correspondence
  1335.         which  this  message answers.  If message identifiers are used
  1336.         in this field, they should be enclosed in angle brackets (<>).
  1337.  
  1338.      c. References:
  1339.  
  1340.         The contents of this field identify other correspondence which
  1341.         this  message  references.   If  message identifiers are used,
  1342.         they should be enclosed in angle brackets (<>).
  1343.  
  1344.      d. Keywords:
  1345.  
  1346.         This field contains keywords or phrases, separated by commas.
  1347.  
  1348.  
  1349.      3. OTHER FIELDS AND SYNTACTIC ITEMS
  1350.  
  1351.      a. Subject:
  1352.  
  1353.         The  "subject:"  field  is  intended  to   provide   as   much
  1354.         information  as  necessary to adequately summarize or indicate
  1355.         the nature of the message.
  1356.  
  1357.      b. Comments:
  1358.  
  1359.         Permits  adding  text  comments  onto  the   message   without
  1360.         disturbing the contents of the message's body.
  1361.  
  1362.  
  1363.  
  1364.  
  1365.      II. Standard for the Format of Messages                      / 24
  1366.       C. Semantics
  1367.       4. Dates
  1368.  
  1369.  
  1370.  
  1371.      4. DATES
  1372.  
  1373.         It is recommended that,  because  of  differing  international
  1374.         interpretations,  the  <string-day>  option be used instead of
  1375.         the <slash-day> option in the specification of a <day>.
  1376.  
  1377.         If included, <day-of-week> must be  the  day  implied  by  the
  1378.         <date> specification.
  1379.  
  1380.         <Time-zones> allow reference to Greenwich and to each  of  the
  1381.         zones  in  the  United  States.  The zone references beginning
  1382.         with "A" are for Atlantic time which are one hour faster  than
  1383.         the  corresponding Eastern times.  "Y" indicates Yukon time in
  1384.         Alaska, which  is  one  hour  slower  than  the  corresponding
  1385.         Pacific times, and "H" indicates Hawaiian times, which are two
  1386.         hours slower.
  1387.  
  1388.  
  1389.  
  1390.      II. Standard for the Format of Messages                      / 25
  1391.       D. Examples
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.      D. EXAMPLES
  1399.  
  1400.  
  1401.      1. ADDRESSES
  1402.  
  1403.      a. Alfred E. Newman <Newman at BBN-TENEXA>
  1404.         Newman@BBN-TENEXA
  1405.  
  1406.         These  two  "Alfred  E.   Newman"  examples   have   identical
  1407.         semantics,  as far as the operation of the local host's mailer
  1408.         and the remote host's FTP server are concerned.  In the  first
  1409.         example,  the "Alfred E.  Newman" is ignored by the mailer, as
  1410.         "Newman at BBN-TENEXA"  completely  specifies  the  recipient.
  1411.         The  second  example contains no superfluous information, and,
  1412.         again, "Newman@BBN-TENEXA" is the intended recipient.
  1413.  
  1414.      b. Al Newman at BBN-TENEXA
  1415.  
  1416.         This is identical with "Al Newman<Al Newman  at  BBN-TENEXA>."
  1417.         That is, the full <phrase>, "Al Newman", is passed to the  FTP
  1418.         server.   Note  that  not  all  FTP  servers accept multi-word
  1419.         identifiers; and some that do accept them will treat each word
  1420.         as  a  different addressee (in this case, attempting to send a
  1421.         copy of the message to "Al" and a copy to "Newman").
  1422.  
  1423.      c. "George Lovell, Ted Hackle" <Shared-Mailbox at Office-1>
  1424.  
  1425.         This form might be used to indicate that a single  mailbox  is
  1426.         shared  by several users.  The quoted string is ignored by the
  1427.         originating host's mailer,  as  "Shared-Mailbox  at  Office-1"
  1428.         completely specifies the destination mailbox.
  1429.  
  1430.      d. Wilt (the Stilt) Chamberlain at NBA
  1431.  
  1432.         The "(the Stilt)" is a comment, which is NOT included  in  the
  1433.         destination mailbox address handed to the originating system's
  1434.         mailer.  The address is the string  "Wilt  Chamberlain",  with
  1435.         exactly  one  space  between the first and second words.  (The
  1436.         quotation marks are not included.)
  1437.  
  1438.  
  1439.  
  1440.  
  1441.      II. Standard for the Format of Messages                      / 26
  1442.       D. Examples
  1443.  
  1444.  
  1445.  
  1446.  
  1447.      2. ADDRESS LISTS
  1448.  
  1449.             Gourmets:  Pompous Person <WhoZiWhatZit at Cordon-Bleu>,
  1450.                        Cooks:  Childs at WGBH, Galloping Gourmet at
  1451.                                ANT (Australian National Television);
  1452.                        Wine Lovers:  Drunk at Discount-Liquors,
  1453.                                      Port at Portugal;;,
  1454.             Jones at SEA
  1455.  
  1456.         This group list example points out the use  of  comments,  the
  1457.         nesting  of  groups,  and  the mixing of addresses and groups.
  1458.         Note that the two consecutive semi-colons  preceding "Jones at
  1459.         SEA" mean that Jones is NOT a member of the Gourmets group.
  1460.  
  1461.  
  1462.      3. ORIGINATOR ITEMS
  1463.  
  1464.      a. George Jones logs into his Host as  "Jones".   He  sends  mail
  1465.         himself.
  1466.  
  1467.             From:  Jones at Host
  1468.         or
  1469.             From:  George Jones <Jones at Host>
  1470.  
  1471.      b. George Jones logs in as Jones on his Host.  His secretary, who
  1472.         logs  in  as  Secy  on  her  Host  (SHost) sends mail for him.
  1473.         Replies to the mail should go to George, of course.
  1474.  
  1475.             From:    George Jones <Jones at Host>
  1476.             Sender:  Secy at SHost
  1477.  
  1478.      c. George Jones logs in as Group at Host.  He sends mail himself;
  1479.         replies should go to the Group mailbox.
  1480.  
  1481.             From:  George Jones <Group at Host>
  1482.  
  1483.      d. George Jones' secretary sends mail for George in his  capacity
  1484.         as a member of Group while logged in as Secy at Host.  Replies
  1485.         should go to Group.
  1486.  
  1487.             From:   George Jones<Group at Host>
  1488.             Sender: Secy at Host
  1489.  
  1490.         Note that there need not be a space between  "Jones"  and  the
  1491.         "<",  but  adding a space enhances readability (as is the case
  1492.         in other examples).
  1493.  
  1494.      e. George Jones asks his secretary  (Secy  at  Host)  to  send  a
  1495.         message  for  him  in  his  capacity  as  Group.  He wants his
  1496.         secretary to handle all replies.
  1497.  
  1498.  
  1499.  
  1500.      II. Standard for the Format of Messages                      / 27
  1501.       D. Examples
  1502.  
  1503.  
  1504.  
  1505.  
  1506.             From:     George Jones <Group at Host>
  1507.             Sender:   Secy at Host
  1508.             Reply-to: Secy at Host
  1509.  
  1510.      f. A non-ARPANET user friend  of  George's,  Sarah,  is  visting.
  1511.         George's  secretary  sends  some  mail to a friend of Sarah in
  1512.         computer-land.  Replies should go to George, whose mailbox  is
  1513.         Jones at Host.
  1514.  
  1515.             From:     Sarah Friendly
  1516.             Sender:   Secy at Host
  1517.             Reply-to: Jones at Host
  1518.  
  1519.      g. George is a member of a committee.   He  wishes  to  have  any
  1520.         replies to his message go to all committee members.
  1521.  
  1522.             From:     George Jones
  1523.             Sender:   Jones at Host
  1524.             Reply-To: Big-committee: Jones at Host,
  1525.                                      Smith at Other-Host,
  1526.                                      Doe at Somewhere-Else;
  1527.  
  1528.         Note  that  if  George  had  not  included  himself   in   the
  1529.         enumeration  of  Big-committee,  he  would  not  have gotten a
  1530.         reply; the presence of the "Reply-to:"  field  SUPERSEDES  the
  1531.         sending of a reply to the person named in the "From:" field.
  1532.  
  1533.      h. (Example of INCORRECT USE)
  1534.  
  1535.         George desires a reply to go to his secretary;  therefore  his
  1536.         secretary  leaves  his  mailbox address off the "From:" field,
  1537.         leaving only  his  name,  which  is  not,  itself,  a  mailbox
  1538.         address.
  1539.  
  1540.                  From:   George Jones
  1541.                  Sender: Secy at SHost
  1542.  
  1543.         THIS IS NOT PERMITTED.  Replies are NEVER implicitly  sent  to
  1544.         the   "Sender:";  George's  secretary  should  have  used  the
  1545.         "Reply-to:" field, or the mail creating program she was  using
  1546.         should have forced her to.
  1547.  
  1548.      i. George's secretary sends out  a  message  which  was  authored
  1549.         jointly by all the members of the "Big-committee".
  1550.  
  1551.             From:   Big-committee: Jones at Host,
  1552.                                    Smith at Other-Host,
  1553.                                    Doe at Somewhere-Else;
  1554.             Sender: Secy at SHost
  1555.  
  1556.  
  1557.  
  1558.      II. Standard for the Format of Messages                      / 28
  1559.       D. Examples
  1560.  
  1561.  
  1562.  
  1563.  
  1564.      4. COMPLETE HEADERS
  1565.  
  1566.      a. Minimum required:
  1567.  
  1568.             Date:  26 August 1976 1429-EDT
  1569.             From:  Jones at Host
  1570.  
  1571.      b. Using some of the additional fields:
  1572.  
  1573.             Date  26 August 1976 1430-EDT
  1574.             From:  George Jones<Group at Host>
  1575.             Sender: Secy at SHOST
  1576.             To:    Al Newman at Mad-Host,
  1577.                    Sam Irving at Other-Host
  1578.             Message-id:  some string at SHOST
  1579.  
  1580.      c. About as complex as you're going to get:
  1581.  
  1582.             Date:       27 Aug 1976 0932-PDT
  1583.             From:       Ken Davis <KDavis at Other-Host>
  1584.             Sender:     KSecy at Other-Host
  1585.             Reply-to:   Sam Irving at Other-Host
  1586.             Subject:    Re: The Syntax in the RFC
  1587.             To:         George Jones <Group at Host>,
  1588.                         Al Newman at Mad-Host
  1589.             cc:         Tom Softwood <Balsa at Another-Host>,
  1590.                         Sam Irving at Other-Host,
  1591.                         Standard Distribution:
  1592.                          :File:
  1593.                            </main/davis/people/standard at Other Host,
  1594.                            "<Jones>standard.dist.3" at Tops-20-Host>
  1595.             In-Reply-to: <some string at SHOST>
  1596.             Message-ID: 4231.629.XYzi-What at Other-Host
  1597.             Comment:    Sam is away on business. He asked me to handle
  1598.                         his  mail  for  him  today.   He'll be able to
  1599.                         provide a more accurate  explanation  tomorrow
  1600.                         when he returns.
  1601.  
  1602.  
  1603.  
  1604.      III. References
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.                             III.  REFERENCES
  1613.  
  1614.  
  1615.      --- TELNET Protocol Specification.   Network  Information  Center
  1616.         No.  18639;  Augmentation  Research  Center, Stanford Research
  1617.         Institute: Menlo Park, August 1973.
  1618.  
  1619.      Bhushan, A.K.  The File Transfer Protocol.  ARPANET  Request  for
  1620.         Comments,  No.   354,  Network  Information Center No.  10596;
  1621.         Augmentation Research  Center,  Stanford  Research  Institute:
  1622.         Menlo Park, July 1972.
  1623.  
  1624.      Bhushan, A.K.  Comments on the File Transfer  Protocol.   ARPANET
  1625.         Request for Comments, No.  385, Network Information Center No.
  1626.         11357;  Augmentation  Research   Center,   Stanford   Research
  1627.         Institute: Menlo Park, August 1972.
  1628.  
  1629.      Bhushan, A.K., Pogran, K.T., Tomlinson,  R.S.,  and  White,  J.E.
  1630.         Standardizing  Network  Mail  Headers.   ARPANET  Request  for
  1631.         Comments, No.  561,  Network  Information  Center  No.  18516;
  1632.         Augmentation  Research  Center,  Stanford  Research Institute:
  1633.         Menlo Park, September 1973.
  1634.  
  1635.      Feinler,  E.J.  and  Postel,  J.B.   ARPANET  Protocol  Handbook.
  1636.         Network  Information  Center  No.  7104; Augmentation Research
  1637.         Center, Stanford Research Institute: Menlo Park,  April  1976.
  1638.         (NTIS AD A003890).
  1639.  
  1640.      McKenzie,  A.   File  Transfer  Protocol.   ARPANET  Request  for
  1641.         Comments,  No.  454,  Network  Information  Center  No. 14333;
  1642.         Augmentation Research  Center,  Stanford  Research  Institute:
  1643.         Menlo Park, February 1973.
  1644.  
  1645.      Myer, T.H. and Henderson, D.A.   Message  Transmission  Protocol.
  1646.         ARPANET  Request  for  Comments,  No. 680, Network Information
  1647.         Center  No.  32116;  Augmentation  Research  Center,  Stanford
  1648.         Research Institute: Menlo Park, 1975.
  1649.  
  1650.      Neigus,  N.   File  Transfer  Protocol.   ARPANET   Request   for
  1651.         Comments,  No.  542,  Network  Information  Center  No. 17759;
  1652.         Augmentation Research  Center,  Stanford  Research  Institute:
  1653.         Menlo Park, July 1973.
  1654.  
  1655.      Postel, J.B.  Revised  FTP  Reply  Codes.   ARPANET  Request  for
  1656.         Comments,  No.  640,  Network  Information  Center  No. 30843;
  1657.         Augmentation Research  Center,  Stanford  Research  Institute:
  1658.         Menlo Park, June 1974.
  1659.  
  1660.  
  1661.  
  1662.      Appendix                                                     / 30
  1663.      Alphabetical Listing of Syntax Rules
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.                              APPENDIX
  1671.  
  1672.  
  1673.      A.  ALPHABETICAL LISTING OF SYNTAX RULES
  1674.  
  1675.      <2-digit-year>    ::=   <two decimal digits>
  1676.      <4-digit-year>    ::=   <four decimal digits>
  1677.      <24-hour-time>    ::=   <hour> <minute>
  1678.  
  1679.      <addressee-field> ::=   "To"          ":" <address-list>
  1680.                            | "cc"          ":" <address-list>
  1681.                            | "bcc"         ":" <address-list>
  1682.                            | "Fcc"         ":" <path-list>
  1683.      <address-item>    ::=   <mach-addr-item>
  1684.                            | <group-name> ":" <address-list> ";"
  1685.                            | <any-name>
  1686.                            | <path>
  1687.      <address-list>    ::=   <null> | <address-item>
  1688.                            | <address-item> "," <address-list>
  1689.  
  1690.      <any-from-field>  ::=   "From"        ":" <address-list>
  1691.  
  1692.      <any-name>        ::=   <quoted-string>
  1693.  
  1694.      <at-indicator>    ::=   "at" | "@"
  1695.  
  1696.      <atom>            ::=   <a sequence of one or more TELNET ASCII
  1697.                                 alpha-numeric or graphics characters,
  1698.                                 excluding all control characters
  1699.                                 (those characters with a decimal value
  1700.                                 less than 33 or equal to 127) and
  1701.                                 <delimeters> >
  1702.  
  1703.      <comment>         ::=   "(" <TELNET ASCII characters, except
  1704.                                 <crlf> > ")"
  1705.  
  1706.      <cr>              ::=   <TELNET ASCII carriage return (decimal 13)>
  1707.      <crlf>            ::=   <TELNET ASCII carriage return/line feed
  1708.                                 (decimal 13, followed by decimal 10)>
  1709.  
  1710.      <date>            ::=   <string-date> | <slash-date>
  1711.      <date-field>      ::=   "Date"        ":" <date-time>
  1712.      <date-time>       ::=   <day> <date> <time>
  1713.      <day>             ::=   <null> | <day-of-week> ","
  1714.      <day-of-month>    ::=   <one or two decimal digits>
  1715.      <day-of-week>     ::=   "Monday"    | "Mon"
  1716.                            | "Tuesday"   | "Tue"
  1717.                            | "Wednesday" | "Wed"
  1718.                            | "Thursday"  | "Thu"
  1719.  
  1720.  
  1721.      Appendix                                                     / 31
  1722.      Alphabetical Listing of Syntax Rules
  1723.  
  1724.  
  1725.  
  1726.  
  1727.                            | "Friday"    | "Fri"
  1728.                            | "Saturday"  | "Sat"
  1729.                            | "Sunday"    | "Sun"
  1730.  
  1731.      <delimeter>       ::=   <specials> | <comment>
  1732.                            | <linear-white-space> | <crlf>
  1733.  
  1734.      <field>           ::=   <field-name> ":" <field-body>
  1735.      <field-body>      ::=   <field-body-contents>
  1736.                            | <field-body-contents> <crlf>
  1737.                                 <linear-white-space-CHAR> <field-body>
  1738.      <field-body-contents> ::= <the TELNET ASCII characters making up
  1739.                                 the field body, as defined in the
  1740.                                 following sections and consisting of
  1741.                                 combinations of <atom>, <quoted-
  1742.                                 string>, <text-line>, and <specials>
  1743.                                 tokens>
  1744.  
  1745.      <field-name>      ::=   <atom> | <atom> <field-name>
  1746.  
  1747.      <group-name>      ::=   <phrase>
  1748.  
  1749.      <headers>         ::=   <required-headers>
  1750.                            | <required-headers> <optional-headers>
  1751.  
  1752.      <host-indicator>  ::=   <at-indicator> <host-name>
  1753.      <host-name>       ::=   <atom>  | <decimal host address>
  1754.      <host-phrase>     ::=   <phrase> <host-indicator>
  1755.  
  1756.      <hour>            ::=   <two decimal digits>
  1757.  
  1758.      <lf>              ::=   <TELNET ASCII line feed (decimal 10)>
  1759.      <linear-white-space>::= <linear-white-space-char>
  1760.                            | <linear-white-space-char>
  1761.                                 <linear-white-space>
  1762.      <linear-white-space-char>::=  <space> | <horizontal-tab>
  1763.  
  1764.      <mach-addr-item>  ::=   <mailbox> | <phrase> "<" <mailbox-list> ">"
  1765.      <mach-addr-list>  ::=   <mach-addr-item>
  1766.                            | <mach-addr-item> "," <address-list>
  1767.  
  1768.      <mach-from-field> ::=   "From"        ":" <mach-addr-item>
  1769.      <mach-from-list>  ::=   "From"        ":" <mach-addr-list>
  1770.  
  1771.      <mach-host-phrase>::=   "<" <host-phrase> ">"
  1772.  
  1773.      <mailbox>         ::=   <host-phrase>
  1774.      <mailbox-list>    ::=   <mailbox> | <mailbox> "," <mailbox-list>
  1775.  
  1776.      <message>         ::=   <headers>
  1777.                            | <headers> <crlf> <message-text>
  1778.  
  1779.  
  1780.      Appendix                                                     / 32
  1781.      Alphabetical Listing of Syntax Rules
  1782.  
  1783.  
  1784.  
  1785.  
  1786.      <message-text>    ::=   <a sequence of zero of more TELNET ASCII
  1787.                                 characters>
  1788.  
  1789.      <minute>          ::=   <two decimal digits>
  1790.  
  1791.      <numeric-month>   ::=   <one or two decimal digits>
  1792.  
  1793.      <optional-headers>::=   <optional-header-field>
  1794.                            | <optional-headers> <optional-header-field>
  1795.      <optional-header-field> ::= <addressee-field> | <extension-field>
  1796.  
  1797.      <originator>      ::=   <mach-from-field>
  1798.                            | <mach-from-list> <sender-field>
  1799.                            | <mach-from-field> <reply-to-field>
  1800.                            | <any-from-field> <sender-field>
  1801.                                 <reply-to-field>
  1802.  
  1803.      <path>            ::=   ":" "File" ":" <path-name>
  1804.      <path-item>       ::=   <host-phrase>
  1805.      <path-list>       ::=   <path-item> | <path-item> "," <path-list>
  1806.      <path-name>       ::=   <path-item> | "<" <path-list> ">"
  1807.  
  1808.      <phrase>          ::=   <word> | <word> <phrase>
  1809.      <phrase-list>     ::=   <null> | <phrase>
  1810.                            | <phrase> "," <phrase-list>
  1811.  
  1812.      <reference-item>  ::=   <phrase> | <mach-host-phrase>
  1813.      <reference-list>  ::=   <null> | <reference-item>
  1814.                            | <reference-item> "," <reference-list>
  1815.  
  1816.      <quoted-string>   ::=   <double quote mark ("), decimal 34>
  1817.                                 <a sequence of one or more TELNET
  1818.                                 ASCII characters, where two adjacent
  1819.                                 quotes are treated as a single quote
  1820.                                 and part of the string> <">
  1821.  
  1822.      <reply-to-field>  ::=   "Reply-To"    ":" <mach-addr-list>
  1823.  
  1824.      <required-headers> ::=  <date-field> <originator>
  1825.  
  1826.      <sender-field>    ::=   "Sender"      ":" <host-phrase>
  1827.  
  1828.      <slash-date>      ::=   <numeric-month> "/" <date-of-month>
  1829.                                              "/" <2-digit-year>
  1830.      <space>           ::=   <TELNET ASCII space (decimal 32)>
  1831.  
  1832.      <specials>        ::=   "(" | ")" | "<" | ">"
  1833.                            | "@" | "," | ";" | ":" | <">
  1834.  
  1835.      <string-date>     ::=   <day-of-month> <string-month>
  1836.      <string-month>    ::=   "January"  | "Jan" | "February" | "Feb"
  1837.  
  1838.  
  1839.      Appendix                                                     / 33
  1840.      Alphabetical Listing of Syntax Rules
  1841.  
  1842.  
  1843.  
  1844.  
  1845.                            | "March"    | "Mar" | "April"    | "Apr"
  1846.                            | "May"              | "June"     | "Jun"
  1847.                            | "July"     | "Jul" | "August"   | "Aug"
  1848.                            | "September"| "Sep" | "October"  | "Oct"
  1849.                            | "November" | "Nov" | "December" | "Dec"
  1850.  
  1851.      <tab>             ::=   <TELNET ASCII tab   (decimal  9)>
  1852.  
  1853.      <text-line>        ::=   <a sequence of one or more TELNET ASCII
  1854.                                 characters excluding <cr> and <lf> >
  1855.  
  1856.      <time>            ::=   <24-hour-time> "-" <time-zone>
  1857.      <time-zone>       ::=   "GMT" | "Z"   | "GDT" | "AST" | "ADT
  1858.                            | "EST" | "EDT" | "CST" | "CDT"
  1859.                            | "MST" | "MDT" | "PST" | "PDT"
  1860.                            | "YST" | "YDT" | "HST" | "HDT"
  1861.  
  1862.      <user-defined-field> ::= <A <field> which has a <field-name> not
  1863.                                 defined in this specification>
  1864.  
  1865.      <word>            ::=   <atom> | <quoted-string>
  1866.  
  1867.  
  1868.  
  1869.  
  1870.